Impression tracking

ABSTRACT

A system and method for tracking impressions in a gaming environment is provided and includes identifying content data within a content data cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if at least one predetermined parameter is satisfied and if the at least one predetermined parameter is satisfied, then storing the at least one impression.

RELATED APPLICATIONS

This application relates to U.S. Provisional Patent Application Ser. No. 60/923,264 (Atty. Docket No. IGA-0001-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,344 (Atty. Docket No. IGA-0002-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,345 (Atty. Docket No. IGA-0003-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,346 (Atty. Docket No. IGA-0004-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,351 (Atty. Docket No. IGA-0005-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,352 (Atty. Docket No. IGA-0006-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,353 (Atty. Docket No. IGA-0007-P), filed Apr. 12, 2007, all of which are incorporated by reference herein in their entireties.

FIELD OF THE INVENTION

This disclosure relates generally to in-game advertising and more particularly to a method for tracking an impression responsive to an advertisement in a gaming environment.

BACKGROUND OF THE INVENTION

As the placement of realistic advertisements in video games becomes more popular and acceptable in the gaming community, more and more video games are beginning to utilize video game advertisements as a viable source of revenue. Currently, most video games that employ realistic advertisements typically utilize a static advertising technique that involves placing each advertisement in one site throughout game play. As such, the location of the advertisement cannot change or move and other advertisements cannot take its place. Thus, although there may be multiple advertisements in one game, each advertisement can only occupy a single location throughout the entire game. This is undesirable because it lacks the ability to maximize the effect of the advertisement on the gamer.

One way to increase the effectiveness of the advertisement on the gamer is to utilize real-time dynamic advertising techniques which allow for the targeting of advertisements to specific gamers or groups of gamers. These dynamic advertising techniques allow multiple advertisements from different advertisers to be rotated through the same site during game play. Moreover, these dynamic advertising techniques allow for different content types, such as Billboard, Logo, Video, Audio and Beacons, to be used to display advertisements to the gamer. Each of these content types is capable of receiving and displaying multiple advertisements throughout the game for display to the gamer. For example, a racing game may have a billboard display advertising one product as the racing car goes around the curve and passes the billboard. However, subsequent times the race car goes around the curve and passes the billboard, entirely different advertisements may be displayed. Thus, dynamic advertising not only enhances the reality of the game's content, it maximizes the revenue generating capability of the software product by generating multiple revenue streams, as opposed to one revenue stream generated using static advertising techniques.

Unfortunately however, current in-game advertising techniques do not allow for the efficient and accurate measurement of parameters related to the users of the games and/or the advertisements being placed in the gaming environment.

SUMMARY OF THE INVENTION

A method for tracking impressions in a gaming environment is provided and includes identifying content data within a content data cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if at least one predetermined parameter is satisfied and if the at least one predetermined parameter is satisfied, then storing the at least one impression.

A system configured to implement a method for tracking impressions in a gaming environment is provided, wherein the method includes identifying content data within a content cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied and storing the at least one impression if the predetermined parameters are satisfied.

A computer readable storage medium having computer executable instructions for implementing a method for tracking impressions in a gaming environment is provided, wherein the method includes identifying content data within a content cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied and if the predetermined parameters are satisfied, then storing the at least one impression.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features and advantages of the present invention will be more fully understood from the following detailed description of illustrative embodiments, taken in conjunction with the accompanying figures in which like elements are numbered alike:

FIG. 1 is a high level schematic block diagram illustrating one embodiment of a gaming system, in accordance with the present invention.

FIG. 2 is a lower level schematic block diagram illustrating the integration server of the embodiment of the gaming system of FIG. 1, in accordance with the present invention.

FIG. 3 is a schematic block diagram illustrating one embodiment of data collection, in accordance with the present invention.

FIG. 4 is a schematic block diagram illustrating one embodiment of reporting impressions, in accordance with the present invention.

FIG. 5 is a block diagram illustrating multiple examples of impression filtering parameters, in accordance with the present invention.

FIG. 6 is a block diagram illustrating one embodiment of duration of an advertisement on-screen, in accordance with the present invention.

FIG. 7 is a block diagram illustrating one embodiment of percent of size of an advertisement on-screen, in accordance with the present invention.

FIG. 8 is a block diagram illustrating one embodiment of deflection angle of an advertisement on-screen, in accordance with the present invention.

FIG. 9 is a block diagram illustrating one embodiment of a method for tracking an impression in a game, in accordance with the present invention.

DETAILED DESCRIPTION

It should be appreciated that impression tracking may allow advertisers to measure desired parameters of the audience and the advertisements, such as the size of the audience for an advertisement, the number of advertisements that an audience viewed, the advertisements that were viewed, how many people actually viewed the advertisement, the length of time the advertisements were viewed, the angle at which the advertisements were viewed and the size at which the advertisements were viewed. Although the present invention may be discussed herein in terms of a Software Development Kit (SDK), it should be appreciated that any type and/or configuration of application software may be used to practice the present invention. Moreover, the application software may be implemented via any type or configuration of software suitable to the desired end purpose, such as a generic SDK and/or an application specific SDK. Furthermore, the software application may be embedded, in whole or in part.

In accordance with the present invention, although the concepts as discussed herein are discussed with regards to a gaming environment as follows, any type of gaming environment or configuration may be used. Referring to FIG. 1, one embodiment of a gaming system 10 for implementing the method of the invention showing the connectivity between the elements is shown and includes a user gaming device 20 having gaming software 30 and application software (SDK) 40, a gaming server 50 (optional) and an integration server 60 which includes advertiser information 70. In accordance with the present invention, a gaming server is optional and the game may be wholly or partially implemented via one or more computer(s) and/or gaming device(s) as desired. During gameplay, the gaming software 30 communicates with the gaming server 50 (optional) to facilitate the gameplay and the SDK 40 communicates with the integration server 60 to facilitate the integration of advertising content. Referring to FIG. 2, a lower level block diagram illustrating the elements of the integration server 60. As shown, the interaction within the integration server 60 is illustrated by a first set of arrows 75 which represents the flow of impressions through the integration server 60, a second set of arrows 80 which represents the flow of advertising content through the integration server 60 and a third set of arrows 85 which represents the flow of control messages (i.e. figuring out a user location, start session message, etc.) through the integration server 60. It should be appreciated that any type of advertising content may be implemented with the invention, including but not limited to 3-Dimensional and/or holographic content.

One embodiment of the present invention is described hereinafter and includes application software, such as a Software Development Kit (SDK), which initiates a gaming session by communicating a StartSession request with the server, wherein the server uses the IP address of the connected peer(s) (i.e. the initiator of the gaming session) to lookup a unique location ID associated with the geographical location of the IP address. Once the geographical location of the IP address is identified, the latitude/longitude position(s) of the geographical location of the IP address can be mapped to unique location IDs to allow an advertiser to target media to a specific market(s). It should be appreciated that this dynamic market assignment may be based on one or a plurality of parameters/properties as desired, such as (but not limited to) location ID (based on latitude/longitude of client's IP address), user ID (a unique number associated with each player), application ID (a unique number associated with each game title), business rules logic, predetermined business rules, dynamic market assignment executed by business rules and business rules that may be defined in the application and executed by the location server at each request. For example, a request in this context may be a software call for an assignment to a content server.

In accordance with the present invention, referring to FIG. 3, FIG. 4 and FIG. 5, the mechanism used for impression tracking may be comprised of one or more parts and is discussed immediately hereinafter with regards to an example having two parts: 1) data collection and 2) impression filtering. In dynamic advertising, cells are typically surfaces within the gaming environment that are configured to receive dynamic advertising content, wherein each cell may have a list of content that it can display. The advertising content may be any type of dynamic media that can be displayed or operated (such as audio content) within the cell, either in whole or in part. It should be appreciated that for each cell, each piece of advertising content and/or the relationship between the cell and the advertising content the cell can display may be uniquely defined and uniquely identified. It should be further appreciated that data collection may be performed as desired, such as by invoking the tracking mechanism of the present invention on a continuous and/or intermittent basis during a game, for example such as during each frame of the game, for a group of cells, a specific cell and/or content combination. Additionally, impression filtering may be used to decide if impressions are valid based on average values for angle, size, and/or duration, which may be generated (i.e. measured) and/or provided as desired, such as while tracking a piece of advertising content.

Referring to FIG. 3, a block diagram illustrating one embodiment of an overall data collection method 300 is illustrated and includes a user, while playing a game, viewing advertisement content in a gaming environment, as shown in operational block 302. The software application (SDK) obtains impression data responsive to the content and/or the cell, as shown in operational block 304, where the software application temporarily stores the impression data on the users gaming machine in a cache file, as shown in operational block 306. The impression data (i.e. contents of the cache file) is then communicated to an application server for storage and future processing, as shown in operational block 308. It is contemplated that the impression data may also be immediately communicated to the application server in addition to or in place of temporarily being stored on the users gaming machine. The impression data is then communicated to the impression server (either the impression server retrieves the impression data or the application server send the impression data), as shown in operational block 310. It should be appreciated that impression data from a single or multiple application servers may be retrieved. The impression data is then stored in the data warehouse for future analysis and/or processing, as shown in operational block 312.

Referring to FIG. 4, a block diagram illustrating one embodiment of an overall impression reporting method 400 is illustrated and includes communicating impression data stored in a data warehouse to an analytical server (for example, an OLAP server), as shown in operational block 402, wherein the OLAP server processes the impression data to obtain desired performance characteristics of the impression, as shown in operational block 404. A report responsive to the desired performance characteristics of the impression is then generated, as shown in operational block 406, and stored in an operations database for future analysis and/or action (such as determining the validity of an impression), as shown in operational block 408. FIG. 5 illustrates four examples (of an unlimited number of examples) of impression filtering parameters that may be used (it should be appreciated that other impression filtering parameters (including more or less) may be used). One way of determining whether an impression is valid may be by using the impression parameters. It should be appreciated that the impressions may be processed via any method suitable to the desired end purpose, such as deleting the impression, storing the impression, etc. FIG. 5 illustrates several example scenarios where an invalid impressions could be separated from valid impression by being deleted based upon not satisfying predetermined parameters.

For example, the game may pass the following data values to the software application (SDK) when an advertisement comes into view of the gamer. In this case, the impression may be considered “open” until predetermined parametric values (such as 0's) are passed for the parameters and/or values below, and then the impression may be considered “closed.” It should be appreciated that the parameters and/or values may be any parameters and/or values as desired suitable to the desired end purpose. However, in this case, the parameters and/or values used may include content display duration (See FIG. 6), content display size (See FIG. 7), content display deflection angle (See FIG. 8), and/or ID of the content cell being displayed on-screen, wherein the duration may be the time the advertisement spends on the screen, the size may be the size of the advertisement on the screen and/or the deflection angle may be the average angle at which the content was viewed from a predetermined perspective (such as the player's perspective). For example, referring again to FIG. 8, the deflection angle, a, may be the relative difference in angle between the camera (i.e. the player in front of the screen) and the normal vector of the face of the cell. In other words the relative angle between the viewer of the game and the face of the cell.

As an example, some impression filtering parameters may be:

Billboard Viewing Parameters Duration Minimum - 2 seconds Size Minimum - 4% Maximum - 100% Deflection Angle 80 degrees Logo Viewing Parameters Duration Minimum - 750 milliseconds Size Minimum - 1% Maximum - 90% Deflection Angle 80 degrees Video Viewing Parameters Duration Minimum - 15 seconds Size Minimum - 4% Maximum - 100% Deflection Angle 80 degrees Audio Viewing Parameters Duration Minimum - 15 seconds Size Minimum - N/A Maximum - N/A Deflection Angle N/A Beacon Parameters Duration Minimum - 1 second Size Minimum - 1% Maximum - 100% Deflection Angle 90 degrees

In accordance with the present invention, content cells, advertising content and/or the relationships between the content cells and the advertising content may be defined as desired. For example, one embodiment may be as follows. In this embodiment, the title may be entered into the system and the content cells may be attached to the title (in this case cells that may be used in the title may be entered and associated with the title). The system generates unique cell IDs for each content cell (or group of content cells) and/or the advertising campaign may be entered into the system, where the advertising campaign is associated with a title (or titles). It should be appreciated that the advertisement campaign is typically all about the advertisements, when they will run, how long they will be, how long they will run, where they will run, which ads will run, what cells will run, etc. The advertising content may be uploaded to the system and the system may generate unique content IDs for each piece of content. Each piece of content may have an associated content cell (typically a piece of content should have a place for it to go—for example, an 8×1 billboard JPG may target an 8×1 billboard cell), wherein each cell may have single and/or multiple pieces of content (even various types of content). Because the system is dynamic, the pieces of advertising content may rotate through the appropriate cell or group of cells as the game progresses. For example, suppose cell ID 1 includes a 2×1 logo cell, and content ID numbers 1021, 1023 and 1025 are 2×1 logo JPGs. In Title 102, content ID number 1021 may display in cell ID 1 on the first level, then content ID number 1023 may display in cell ID 1 on the next level, then content ID number 1025 may display in cell ID 1 on the next level, and so on.

Referring to FIG. 9, a block diagram illustrating a method 600 for tracking an impression is shown, in accordance with the present invention. The method 600 includes selecting dynamic advertising content (content may be selected before or after the game has been started) and displaying the dynamic advertising content in a cell or group of cells in the gaming environment, as shown in operational block 602. It should be appreciated that although typically a cell(s) is tracked when a player is within a desired proximity of the cell(s), tracking may occur (i.e. triggered) regardless of the player location and may be dependent upon any desired invocation parameters. A tracking mechanism is invoked (for example during each frame or during selected frames) to track a desired cell(s), as shown in operational block 604, wherein during each invocation, game attributes may be obtained, such as deflection angle and/or display size attributes. These attributes may be obtained via any method suitable to the desired end purpose, such as the game passing the attributes to the application software or such as the application software retrieving the attributes. Additionally, some embodiments may include parameters that are being continually passed back to the application software, while other embodiments may not include continually passing parameters. Moreover, parameters may be passed at predetermined times and/or events, such as when a cell comes into view and/or until the values are null. Additionally, the deflection angle may be responsive to the relative angle between the player and the viewed advertising content (rather than the display screen) and the display size may be responsive to the relative size of the displayed content to the size of the entire screen.

Method 600 further includes determining whether predefined thresholds are satisfied, as shown in operational block 606, wherein the predefined thresholds may be defined as desired and may include (but not be limited to) a minimum/maximum deflection angle, a minimum/maximum display size and a minimum/maximum duration for a piece of advertising content. If the predefined thresholds are satisfied, then the impressions are considered to be valid and may be recorded, as shown in operational block 608, otherwise the impressions may be discarded or separated from valid impressions for further analysis. For example, valid impressions may be written to a cache file on the client computer for temporary storage. Once tracking begins, the subsequent values for angle and size are averaged across all tracking invocations, as shown in operational block 610, and tracking continues until the parameters no longer meet the predefined thresholds, at which point impression data may be obtained, as shown in operational block 612. For example, one embodiment might be when the cell comes into view of the player and/or until the attributes pass 0 values, during which the parameters may be passed as desired (i.e. they may be passed on a continual basis or they may be passed on a piecewise, timed or periodic basis). In this case, the parameters are passed when the cell comes into view (i.e. on the screen) and/or until the parameters being passed are 0 values.

It is contemplated that the time elapsed since the start of tracking may be automatically counted and when a tracking event has reached a desired point or time for a given cell, the tracked data may be sent to a cache file for temporary storage, as shown in operational block 614. When a tracking stop invocation is triggered (such as at a desired point in time or when the passed parameters are 0 values), the tracking is stopped and the caches flush the passed data (i.e. impression values) which are committed to the analytical server (e.g. OLAP), as shown in operational block 616. It is contemplated that impression filtering (i.e. data filtering) may occur at any point suitable to the desired end purpose, such as while it is being communicated to the database.

It should be appreciated that the method of the present invention may be embodied, in whole or in part, via software, firmware and/or hardware. Accordingly, the invention may be implemented via any type or configuration of software suitable to the desired end purpose, such as a generic SDK and/or an application specific SDK. Additionally, it should also be appreciated that the method of the present invention may or may not be embodied, in whole or in part, via instruction using training manuals (i.e. text based materials), seminars, classes, and/or any other media suitable to the desired end purpose. Moreover, it should be appreciated that although the method of the present invention may be implemented, in whole or in part, via software, hardware, firmware and/or any combination thereof, it is also contemplated that the method of the present invention may also be implemented, in whole or in part, without the use of software, hardware, firmware and/or any combination thereof. For example, without the full or partial use of any software, hardware and/or firmware and/or with any combination thereof, but rather via instruction using PC based software and/or classroom instruction with text materials (i.e. books, pamphlets, handouts, tapes, optical media, etc.).

Moreover, it should be appreciated that each of the elements of the present invention may be implemented in part, or in whole, in any order suitable to the desired end purpose. In accordance with an exemplary embodiment, the processing required to practice the method of the present invention, either in whole or in part, may be implemented, wholly or partially, by a controller operating in response to a machine-readable computer program. In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g. execution control algorithm(s), the control processes prescribed herein, and the like), the controller may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interface(s), as well as combination comprising at least one of the foregoing. It should also be appreciated that the embodiments disclosed herein are for illustrative purposes only and include only some of the possible embodiments contemplated by the present invention.

Furthermore, the invention may be wholly or partially embodied in the form of a computer or controller implemented processes. It should be appreciated that any type of computer system (as is well known in the art) and/or gaming system may be used and that the invention may be implemented via any type of network setup, including but not limited to a LAN and/or a WAN (wired or wireless). The invention may also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, and/or any other computer-readable medium, wherein when the computer program code is loaded into and executed by a computer or controller, the computer or controller becomes an apparatus for practicing the invention. The invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein when the computer program code is loaded into and executed by a computer or a controller, the computer or controller becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor the computer program code segments may configure the microprocessor to create specific logic circuits.

While the invention has been described with reference to an exemplary embodiment, it should be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, unless specifically stated any use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. 

1. A method for tracking impressions in a gaming environment, comprising: identifying content data within a content data cell in the gaming environment to be tracked; generating at least one impression responsive to the identified content data; monitoring at least one of the content data and the content cell to determine if at least one predetermined parameter is satisfied, and if the at least one predetermined parameter is satisfied, then storing the at least one impression.
 2. The method of claim 1, wherein identifying content data cell includes, selecting content data to be displayed in the content data cell; and displaying the content data via the content data cell.
 3. The method of claim 1, wherein monitoring at least one of the content data and the content cell includes, invoking a tracking mechanism to begin tracking at least one of the content data and the content cell.
 4. The method of claim 3, wherein invoking a tracking mechanism includes, determining if the at least one predetermined parameter for at least one of the content data and the content data cell satisfies a predefined threshold, and if the predefined threshold is satisfied, then recording the at least one impression.
 5. The method of claim 1, wherein monitoring at least one of the content data and the content cell further includes, recording multiple impressions for at least one of the content data and the content data cell, wherein each of the multiple impressions includes a deflection angle and content data cell size, and averaging the values of the deflection angles and content data cell sizes.
 6. The method of claim 1, wherein monitoring at least one of the content data and the content cell includes, identifying when the at least one predetermined parameter for at least one of the content data and the content data cell no longer satisfies the predefined threshold, and if the predefined threshold is no longer satisfied, then recording at least one final impression.
 7. The method of claim 6, wherein storing the at least one impression includes, temporarily storing the at least one impression in a cache file, and committing the at least one impression to an application server, when the predefined threshold is no longer satisfied.
 8. The method of claim 7, wherein storing the at least one impression further includes, forwarding the at least one impression to an analytical server for further processing and analysis.
 9. A system configured to implement a method for tracking impressions in a gaming environment, the method comprising: identifying content data within a content cell in the gaming environment to be tracked; generating at least one impression responsive to the identified content data; monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied; and storing the at least one impression if the predetermined parameters are satisfied.
 10. The system of claim 9, wherein identifying content data cell includes, selecting content data to be displayed in the content data cell; and displaying the content data via the content data cell.
 11. The system of claim 9, wherein monitoring at least one of the content data and the content cell includes, invoking a tracking mechanism to begin tracking at least one of the content data and the content cell.
 12. The system of claim 11, wherein invoking a tracking mechanism includes, determining if the at least one predetermined parameter for at least one of the content data and the content data cell satisfies a predefined threshold, and if the predefined threshold is satisfied, then recording the at least one impression.
 13. The system of claim 9, wherein monitoring at least one of the content data and the content cell further includes, recording multiple impressions for at least one of the content data and the content data cell, wherein each of the multiple impressions includes a deflection angle and content data cell size, and averaging the values of the deflection angles and content data cell sizes.
 14. The system of claim 9, wherein monitoring at least one of the content data and the content cell includes, identifying when the at least one predetermined parameter for at least one of the content data and the content data cell no longer satisfies the predefined threshold, and if the predefined threshold is no longer satisfied, then recording at least one final impression.
 15. The system of claim 14, wherein storing the at least one impression includes, temporarily storing the at least one impression in a cache file, and committing the at least one impression to an application server, when the predefined threshold is no longer satisfied.
 16. The system of claim 15, wherein storing the at least one impression further includes, forwarding the at least one impression to an analytical server for further processing and analysis.
 17. A computer readable storage medium having computer executable instructions for implementing a method for tracking impressions in a gaming environment, the method comprising: identifying content data within a content cell in the gaming environment to be tracked; generating at least one impression responsive to the identified content data; monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied; and if the predetermined parameters are satisfied, then storing the at least one impression.
 18. The system of claim 17, wherein identifying content data cell includes, selecting content data to be displayed in the content data cell; and displaying the content data via the content data cell.
 19. The system of claim 17, wherein monitoring at least one of the content data and the content cell includes, invoking a tracking mechanism to begin tracking at least one of the content data and the content cell.
 20. The system of claim 19, wherein invoking a tracking mechanism includes, determining if the at least one predetermined parameter for at least one of the content data and the content data cell satisfies a predefined threshold, wherein if the predefined threshold is satisfied, then recording the at least one impression; and identifying when the at least one predetermined parameter for at least one of the content data and the content data cell no longer satisfies the predefined threshold, and if the predefined threshold is no longer satisfied, then recording at least one final impression. 